1. Content
-
Big picture
-
Concepts
-
Android Studio
-
Brainstorm on Android MetaModel
-
Thoughts for your process
|
Pour ne pas perdre du temps, commencez à lancer l’installation d’Android Studio si ce n’est déjà fait sur vos machines en téléchartgeant au choix depuis :
|
2. Big Picture
A unique aspect of the Android system design is that any app can start another app’s component.
2.1. Build
2.2. Running
2.3. Overall Organization
2.4. Interactions
2.5. Set of librairies, resources, etc.
2.6. Messages
Try to avoid "Hello JMB!":
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
...
<TextView android:text="Hello JMB!" android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</RelativeLayout>
Use "@string/message" instead:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
...
<TextView android:text="@string/message" android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</RelativeLayout>
<resources>
<string name="app_name">My First App</string>
<string name="action_settings">Settings</string>
<string name="message">Hello JMB!</string>
</resources>
2.7. content_main.xml
content_main.xml is a kind of Layout.
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" (1)
...
<TextView android:text="@string/message" android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</RelativeLayout>
| 1 | Test |
Blabla 1 blabla.
2.8. Views
A Layout contains components (buttons, etc.) ⇒ Views
2.9. Intent
Activities communicate through Intent.
In the same app:
Or between apps:
3. Android Studio in a minute
3.1. Install
-
https://192.168.4.242/share.cgi?ssid=057ZThL (NAS local à l’IUT)
-
http://bit.ly/jmb-as (Dropbox )
-
https://developer.android.com/sdk/index.html (officiel)
3.2. Create a new Android Studio project
3.3. Configure the project
3.4. Specify the API level
3.5. Create an Activity
3.6. Configure the activity
3.7. First app created!
3.8. Detail of an activity
3.9. Android Virtual Device Manager
3.10. AVD Selection
3.11. AVD Configuration
3.12. AVD Launching
3.13. Navigation Editor
4. Android metamodel
Check the Android fundamentals, enrich the list of important concepts and organize them.
5. Basic Components
6. Excerpt of the MetaModel
7. Android Activities Lifecycle
8. Organizing you app
-
List of
Activities-
Top Activities
-
Cateory activities
-
Detail/edit
-
-
Navigatin through the activities
-
App structure
-
Process:
-
define class, resources (images, …), strings
-
toplevel / layout
-
loop for each activities
-
9. Subtilities not covered
-
Manifest.xml -
Fragments
-
Screen-specific resources
-
Librairies, themes, styles, etc.
-
Database connection
-
Services
-
Material specifics, ART
-
Distribution and commercial aspects
Full Android MetaModel
| Taken from: https://github.com/markoudev/modeling |
Activity
Behavior
Entity
Fragment
Layout
Menu
Resources
View
ViewBehavior
References and useful links
References
-
[HighsmithFowler2001] Jim Highsmith and Martin Fowler. The agile manifesto. Software Development Magazine, 9(8) :29–30, 2001.
-
[1030005] Kieran Conboy and Brian Fitzgerald. Toward a conceptual framework of agile methods : a study of agility in different disciplines. In WISER ’04 : Proceedings of the 2004 ACM workshop on Interdisciplinary software engineering research, pages 37–44, New York, NY, USA, 2004. ACM.
-
[Roques2007a] Les Cahiers du Programmeur, UML2, Pascal Roques 3ème Edition, Eyrolles, 2007.
-
[Roques2007b] UML 2 par la pratique, Pascal Roques 6ème Edition, Eyrolles, 2007.
-
[Blanc2006] UML pour les développeurs, Xavier Blanc, Eyrolles, 2006.
-
[Longepe2006] Le projet d’urbanisation du S.I., C. Longépé, 3ème édition, Dunod, 2006.
-
[Gillet2008] Management des SI, M. & P. Gillet, Dunod, 2008.
-
[Muller] Modélisation objet avec UML. {pam} & Nathalie Gaetner, Eyrolles, 2003.
-
[AndroidFundamentals] http://developer.android.com/guide/components/fundamentals.html
Links
-
[IBM] http://asmarterplanet.com/mobile-enterprise/blog/2015/01/agile-discipline-approach-mobile-app-development.html
-
[uml-diagrams] http://www.uml-diagrams.org/android-application-uml-deployment-diagram-example.html
-
[AndroidDesign] http://www.javacodegeeks.com/2013/07/android-uml-design-an-app-part-1.html
-
http://www.inf.ed.ac.uk/publications/thesis/online/IM100767.pdf
-
http://fr.slideshare.net/LiliaSfaxi/p1-introduction-a-android
-
http://www.qualitystreet.fr/2010/07/07/prototypage-agile-papier-tableau-blanc-et-balsamiq/
-
[Veldhuis2013] http://essay.utwente.nl/63418/1/MScThesis_OudeVeldhuis_FINAL.pdf
Glossary
|
Ressources
The following definitions are only informative. You can find usefull other sources here: |
- ATL
-
_ATLAS Transformation Language
- DRY
-
Don’t Repeat Yourself
- EMF
-
_Eclipse Modeling Framework
- IHM
-
Interface Homme-Machine
- MCF
-
Modèle Conceptuel des Flux
- MCT
-
Modèle Conceptuel des Traitements
- MOA/MOE
-
Maîtrise d’ouvrage (MOA) Maîtrise d’oeuvre (MOE)
- MOF
-
Modèle Organisationnel des Flux
- MOT
-
Modèle Organisationnel des Traitements
- OMG
-
Object Management Group
- PPN
-
Programme Pédagogique National
- SEF
-
Schéma d'Enchaînement des Fenêtres
- SEP
-
Schéma d'Enchaînement des Pages
- SI
-
Système d'Information
- SNI
-
Schéma de Navigation d'Interfaces
- SO
-
Système Organisationnel
- SysML
-
System Modeling Language ™
- TRL
-
Technology Readiness Level
- URL
-
Universal Ressource Locator